package cn.ava.basic.mapper;



import cn.ava.basic.query.BaseQuery;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @ClassName: BaseMapper
 * @Description: 抽取公共的Mapper层方法
 * @Author: Avavaava
 * @Date: 2022/6/27 17:38
 * @version: 23.53
 *
 */
@Mapper
public interface BaseMapper<T> {

    // 查询所有
    List<T> loadAll();

    // 根据Id查询
    T getById(Long id);

    // 根据Id删除
    void delete(Long id);

    // 新增
    void add(T t);

    // 根据Id修改
    void update(T t);

    // 分页+高级查询
    List<T> queryData(BaseQuery baseQuery);

    // 查询总条数
    Integer queryCount(BaseQuery baseQuery);

    // 批量删除
    void batchDelete(Long[] id);
}
